package main

import (
	"crypto/md5"
	"fmt"
	"io"
	"os"
)

// 在示例 12.20 中检验 md5 算法。

func main() {
	md5er := md5.New()
	io.WriteString(md5er, "golang")
	b := []byte{}
	fmt.Printf("Result: %x\n", md5er.Sum(b))
	fmt.Printf("Result: %d\n", md5er.Sum(b))

	md5er.Reset()
	data := []byte("The great rejuvenation of Chinese nation.")
	n, err := md5er.Write(data)
	if n != len(data) || err != nil {
		fmt.Printf("Hash Error: %v / %v \n", n, err)
		os.Exit(1)
	}
	fmt.Printf("Result: %x\n", md5er.Sum(b))
	fmt.Printf("Result: %d\n", md5er.Sum(b))
}
